import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
import path from 'path'; 
// https://vitejs.dev/config/
export default defineConfig((config) => {
  console.log(config);
  // 根据当前运行模式，读取对应.env文件中的对象
  const env = loadEnv(config.mode, process.cwd());
  console.log(env); 

  return {
    plugins: [vue()],
    server: {
      port: env.VITE_APP_PORT,
      // 反向代理 因为服务器和服务器之间没有同源策略 如同本地开了一个服务 去像后端要数据，然后将后端数据返回前端
      proxy: {
        // 路径标识，用于拦截请求将请求转发给另外一台服务器
        [env.VITE_APP_BASE_URL]: {
          // 代理目标服务器
          target: env.VITE_APP_TARGET_URL,
          // 是否换源
          changeOrigin: true,
          // 将baseurl 替换为真实请求路径 只是换了一个目标主机地址
          rewrite: (path) => {
            // 拦截到的请求地址为 带标识的请求路径资源地址 没有ip地址
            const res = path.replace(
              new RegExp(`^${env.VITE_APP_BASE_URL}`),
              ""
            );
            //
            console.log(res);
            return res;
          },
        },
      },
    },
    resolve: {
      alias: {
        '@': path.resolve(__dirname, './src')
      },
    },
  };
});
